#include <stdio.h>

int main() {
    // 声明一个字符数组str，用于存储用户输入的字符串，数组大小为81个字符
    // 包括字符串结束符'\0'，所以最多可以输入80个字符
    char str[81];

    // 声明两个整型变量，一个用于循环计数，一个用于记录空格数量
    int i, count = 0;

    // 打印提示信息，请求用户输入一行字符
    printf("\n 请输入一行字符：\n ");

    // 使用gets函数从标准输入读取一行字符，并存储在str数组中
    // 注意：gets函数已经不推荐使用，因为它可能导致缓冲区溢出
    gets(str);

    // 使用fgets函数从标准输入读取一行字符，并存储在str数组中
    // fgets会自动在输入的末尾添加一个换行符'\n'，如果有输入的话
    // 因此，我们需要设置数组大小为81，以容纳最多80个字符加上换行符和字符串结束符
//    fgets(str, sizeof(str), stdin);

    // 开始遍历字符串中的每一个字符，直到遇到字符串结束符'\0'
    for (i = 0; str[i] != '\0'; i++) {
        // 如果当前字符是空格，则计数器加1
        if (str[i] == ' ')
            count++;
    }

    // 打印出字符串中的空格总数
    printf("\n 其中的空格总数为 %d \n ", count);
}
